@Haggard
2年前 提问
1个回答

终止式SQL注入攻击是什么

在下炳尚
2年前

终止式SQL注入攻击是指攻击者在执行SQL注入时通过将原SQL语句的剩余部分注释掉,从而成功结束原来的语句执行,达到注入的目的,修改原有的SQL语句执行攻击者自己编写的SQL语句。这种注入技术需要原有的SQL语句存在多个容易受到攻击的参数,而且攻击者必须要了解这些SQL参数在SQL语句中的位置,否则很难执行成功。并且执行这类注入需要终止原有的第一条SQL语句否则也无法注入成功。

预防SQL注入方法有以下这些:

  • PreparedStatement:采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可。使用好处是代码的可读性和可维护性、极大地提高了安全性。

  • 确认每种数据的类型,比如是数字,数据库则必须使用int类型来存储

  • 规定数据长度,能在一定程度上防止sql注入

  • 严格限制数据库权限,能最大程度减少sql注入的危害

  • 避免直接响应一些sql异常信息,sql发生异常后,自定义异常进行响应

  • 过滤参数中含有的一些数据库关键词